clear all
set more off
cd ""

use "sample.dta", clear

* Generate a dummy indicating high fiscal capacity
** Two groups based on the median value

egen med_fiscal = median(fiscal)
gen high = fiscal > med_fiscal if !mi(fiscal)

* Generate interaction terms between time-to-event dummies and faction
* Transformation to get linear combinations of parameters

tab rel_time, gen(rel_w)
forvalue i = 1/31 {
gen rel_w`i'_D = rel_w`i' * faction
}

gen rel_w11_D_21 = rel_w11_D*21
forvalue i = 12/31 {
gen diff_Drel`i'_11 = rel_w`i'_D - rel_w11_D
}

**********
* Panel A
**********

reghdfe in_confn14 rel_w11_D_21 diff_Drel* treat_csm wdsp temp prcp if high == 1, absorb(i.city_code#i.faction i.time#i.faction i.prov_code#c.time#i.faction) cluster(time)

reghdfe d_movewithin rel_w11_D_21 diff_Drel* treat_csm wdsp temp prcp if high == 1, absorb(i.city_code#i.faction i.time#i.faction i.prov_code#c.time#i.faction i.prov_code#c.time2#i.faction) cluster(time)

reghdfe bdindexS7_std rel_w11_D_21 diff_Drel* treat_csm wdsp temp prcp if high == 1, absorb(i.city_code#i.faction i.time#i.faction i.prov_code#c.time#i.faction) cluster(time)

**********
* Panel B
**********

reghdfe in_confn14 rel_w11_D_21 diff_Drel* treat_csm wdsp temp prcp if high == 0, absorb(i.city_code#i.faction i.time#i.faction i.prov_code#c.time#i.faction) cluster(time)

reghdfe d_movewithin rel_w11_D_21 diff_Drel* treat_csm wdsp temp prcp if high == 0, absorb(i.city_code#i.faction i.time#i.faction i.prov_code#c.time#i.faction i.prov_code#c.time2#i.faction) cluster(time)

reghdfe bdindexS7_std rel_w11_D_21 diff_Drel* treat_csm wdsp temp prcp if high == 0, absorb(i.city_code#i.faction i.time#i.faction i.prov_code#c.time#i.faction) cluster(time)
